package parser;

public abstract class SpecialHTML {
	public static String replaceHTML(String str) {
		str = str.replace("&quot;", "\"");
		str = str.replace("&#34;", "\"");
		str = str.replace("&amp;", "&");
		str = str.replace("&#38;", "&");
		str = str.replace("&apos;", "'");
		str = str.replace("&#39;", "'");
		str = str.replace("&lt;", "<");
		str = str.replace("&#60;", "<");
		str = str.replace("&gt;", ">");
		str = str.replace("&#62;", ">");
		str = str.replace("&nbsp;", " ");
		str = str.replace("&#160;", " ");
		str = str.replace("&iexcl;", "¡");
		str = str.replace("&#161;", "¡");
		str = str.replace("&cent;", "¢");
		str = str.replace("&#162;", "¢");
		str = str.replace("&pound;", "£");
		str = str.replace("&#163;", "£");
		str = str.replace("&curren;", "¤");
		str = str.replace("&#164;", "¤");
		str = str.replace("&yen;", "¥");
		str = str.replace("&#165;", "¥");
		str = str.replace("&brvbar;", "¦");
		str = str.replace("&#166;", "¦");
		str = str.replace("&sect;", "§");
		str = str.replace("&#167;", "§");
		str = str.replace("&uml;", "¨");
		str = str.replace("&#168;", "¨");
		str = str.replace("&copy;", "©");
		str = str.replace("&#169;", "©");
		str = str.replace("&ordf;", "ª");
		str = str.replace("&#170;", "ª");
		str = str.replace("&laquo;", "«");
		str = str.replace("&#171;", "«");
		str = str.replace("&not;", "¬");
		str = str.replace("&#172;", "¬");
		str = str.replace("&shy;", " ");
		str = str.replace("&#173;", " ");
		str = str.replace("&reg;", "®");
		str = str.replace("&#174;", "®");
		str = str.replace("&macr;", "¯");
		str = str.replace("&#175;", "¯");
		str = str.replace("&deg;", "°");
		str = str.replace("&#176;", "°");
		str = str.replace("&plusmn;", "±");
		str = str.replace("&#177;", "±");
		str = str.replace("&sup2;", "²");
		str = str.replace("&#178;", "²");
		str = str.replace("&sup3;", "³");
		str = str.replace("&#179;", "³");
		str = str.replace("&acute;", "´");
		str = str.replace("&#180;", "´");
		str = str.replace("&micro;", "µ");
		str = str.replace("&#181;", "µ");
		str = str.replace("&para;", "¶");
		str = str.replace("&#182;", "¶");
		str = str.replace("&middot;", "·");
		str = str.replace("&#183;", "·");
		str = str.replace("&cedil;", "¸");
		str = str.replace("&#184;", "¸");
		str = str.replace("&sup1;", "¹");
		str = str.replace("&#185;", "¹");
		str = str.replace("&ordm;", "º");
		str = str.replace("&#186;", "º");
		str = str.replace("&raquo;", "»");
		str = str.replace("&#187;", "»");
		str = str.replace("&frac14;", "¼");
		str = str.replace("&#188;", "¼");
		str = str.replace("&frac12;", "½");
		str = str.replace("&#189;", "½");
		str = str.replace("&frac34;", "¾");
		str = str.replace("&#190;", "¾");
		str = str.replace("&iquest;", "¿");
		str = str.replace("&#191;", "¿");
		str = str.replace("&Agrave;", "À");
		str = str.replace("&#192;", "À");
		str = str.replace("&Aacute;", "Á");
		str = str.replace("&#193;", "Á");
		str = str.replace("&Acirc;", "Â");
		str = str.replace("&#194;", "Â");
		str = str.replace("&Atilde;", "Ã");
		str = str.replace("&#195;", "Ã");
		str = str.replace("&Auml;", "Ä");
		str = str.replace("&#196;", "Ä");
		str = str.replace("&Aring;", "Å");
		str = str.replace("&#197;", "Å");
		str = str.replace("&AElig;", "Æ");
		str = str.replace("&#198;", "Æ");
		str = str.replace("&Ccedil;", "Ç");
		str = str.replace("&#199;", "Ç");
		str = str.replace("&Egrave;", "È");
		str = str.replace("&#200;", "È");
		str = str.replace("&Eacute;", "É");
		str = str.replace("&#201;", "É");
		str = str.replace("&Ecirc;", "Ê");
		str = str.replace("&#202;", "Ê");
		str = str.replace("&Euml;", "Ë");
		str = str.replace("&#203;", "Ë");
		str = str.replace("&Igrave;", "Ì");
		str = str.replace("&#204;", "Ì");
		str = str.replace("&Iacute;", "Í");
		str = str.replace("&#205;", "Í");
		str = str.replace("&Icirc;", "Î");
		str = str.replace("&#206;", "Î");
		str = str.replace("&Iuml;", "Ï");
		str = str.replace("&#207;", "Ï");
		str = str.replace("&ETH;", "Ð");
		str = str.replace("&#208;", "Ð");
		str = str.replace("&Ntilde;", "Ñ");
		str = str.replace("&#209;", "Ñ");
		str = str.replace("&Ograve;", "Ò");
		str = str.replace("&#210;", "Ò");
		str = str.replace("&Oacute;", "Ó");
		str = str.replace("&#211;", "Ó");
		str = str.replace("&Ocirc;", "Ô");
		str = str.replace("&#212;", "Ô");
		str = str.replace("&Otilde;", "Õ");
		str = str.replace("&#213;", "Õ");
		str = str.replace("&Ouml;", "Ö");
		str = str.replace("&#214;", "Ö");
		str = str.replace("&times;", "×");
		str = str.replace("&#215;", "×");
		str = str.replace("&Oslash;", "Ø");
		str = str.replace("&#216;", "Ø");
		str = str.replace("&Ugrave;", "Ù");
		str = str.replace("&#217;", "Ù");
		str = str.replace("&Uacute;", "Ú");
		str = str.replace("&#218;", "Ú");
		str = str.replace("&Ucirc;", "Û");
		str = str.replace("&#219;", "Û");
		str = str.replace("&Uuml;", "Ü");
		str = str.replace("&#220;", "Ü");
		str = str.replace("&Yacute;", "Ý");
		str = str.replace("&#221;", "Ý");
		str = str.replace("&THORN;", "Þ");
		str = str.replace("&#222;", "Þ");
		str = str.replace("&szlig;", "ß");
		str = str.replace("&#223;", "ß");
		str = str.replace("&agrave;", "à");
		str = str.replace("&#224;", "à");
		str = str.replace("&aacute;", "á");
		str = str.replace("&#225;", "á");
		str = str.replace("&acirc;", "â");
		str = str.replace("&#226;", "â");
		str = str.replace("&atilde;", "ã");
		str = str.replace("&#227;", "ã");
		str = str.replace("&auml;", "ä");
		str = str.replace("&#228;", "ä");
		str = str.replace("&aring;", "å");
		str = str.replace("&#229;", "å");
		str = str.replace("&aelig;", "æ");
		str = str.replace("&#230;", "æ");
		str = str.replace("&ccedil;", "ç");
		str = str.replace("&#231;", "ç");
		str = str.replace("&egrave;", "è");
		str = str.replace("&#232;", "è");
		str = str.replace("&eacute;", "é");
		str = str.replace("&#233;", "é");
		str = str.replace("&ecirc;", "ê");
		str = str.replace("&#234;", "ê");
		str = str.replace("&euml;", "ë");
		str = str.replace("&#235;", "ë");
		str = str.replace("&igrave;", "ì");
		str = str.replace("&#236;", "ì");
		str = str.replace("&iacute;", "í");
		str = str.replace("&#237;", "í");
		str = str.replace("&icirc;", "î");
		str = str.replace("&#238;", "î");
		str = str.replace("&iuml;", "ï");
		str = str.replace("&#239;", "ï");
		str = str.replace("&eth;", "ð");
		str = str.replace("&#240;", "ð");
		str = str.replace("&ntilde;", "ñ");
		str = str.replace("&#241;", "ñ");
		str = str.replace("&ograve;", "ò");
		str = str.replace("&#242;", "ò");
		str = str.replace("&oacute;", "ó");
		str = str.replace("&#243;", "ó");
		str = str.replace("&ocirc;", "ô");
		str = str.replace("&#244;", "ô");
		str = str.replace("&otilde;", "õ");
		str = str.replace("&#245;", "õ");
		str = str.replace("&ouml;", "ö");
		str = str.replace("&#246;", "ö");
		str = str.replace("&divide;", "÷");
		str = str.replace("&#247;", "÷");
		str = str.replace("&oslash;", "ø");
		str = str.replace("&#248;", "ø");
		str = str.replace("&ugrave;", "ù");
		str = str.replace("&#249;", "ù");
		str = str.replace("&uacute;", "ú");
		str = str.replace("&#250;", "ú");
		str = str.replace("&ucirc;", "û");
		str = str.replace("&#251;", "û");
		str = str.replace("&uuml;", "ü");
		str = str.replace("&#252;", "ü");
		str = str.replace("&yacute;", "ý");
		str = str.replace("&#253;", "ý");
		str = str.replace("&thorn;", "þ");
		str = str.replace("&#254;", "þ");
		str = str.replace("&yuml;", "ÿ");
		str = str.replace("&#255;", "ÿ");
		str = str.replace("&OElig;", "Œ");
		str = str.replace("&#338;", "Œ");
		str = str.replace("&oelig;", "œ");
		str = str.replace("&#339;", "œ");
		str = str.replace("&Scaron;", "Š");
		str = str.replace("&#352;", "Š");
		str = str.replace("&scaron;", "š");
		str = str.replace("&#353;", "š");
		str = str.replace("&Yuml;", "Ÿ");
		str = str.replace("&#376;", "Ÿ");
		str = str.replace("&fnof;", "ƒ");
		str = str.replace("&#402;", "ƒ");
		str = str.replace("&circ;", "ˆ");
		str = str.replace("&#710;", "ˆ");
		str = str.replace("&tilde;", "˜");
		str = str.replace("&#732;", "˜");
		str = str.replace("&Alpha;", "Α");
		str = str.replace("&#913;", "Α");
		str = str.replace("&Beta;", "Β");
		str = str.replace("&#914;", "Β");
		str = str.replace("&Gamma;", "Γ");
		str = str.replace("&#915;", "Γ");
		str = str.replace("&Delta;", "Δ");
		str = str.replace("&#916;", "Δ");
		str = str.replace("&Epsilon;", "Ε");
		str = str.replace("&#917;", "Ε");
		str = str.replace("&Zeta;", "Ζ");
		str = str.replace("&#918;", "Ζ");
		str = str.replace("&Eta;", "Η");
		str = str.replace("&#919;", "Η");
		str = str.replace("&Theta;", "Θ");
		str = str.replace("&#920;", "Θ");
		str = str.replace("&Iota;", "Ι");
		str = str.replace("&#921;", "Ι");
		str = str.replace("&Kappa;", "Κ");
		str = str.replace("&#922;", "Κ");
		str = str.replace("&Lambda;", "Λ");
		str = str.replace("&#923;", "Λ");
		str = str.replace("&Mu;", "Μ");
		str = str.replace("&#924;", "Μ");
		str = str.replace("&Nu;", "Ν");
		str = str.replace("&#925;", "Ν");
		str = str.replace("&Xi;", "Ξ");
		str = str.replace("&#926;", "Ξ");
		str = str.replace("&Omicron;", "Ο");
		str = str.replace("&#927;", "Ο");
		str = str.replace("&Pi;", "Π");
		str = str.replace("&#928;", "Π");
		str = str.replace("&Rho;", "Ρ");
		str = str.replace("&#929;", "Ρ");
		str = str.replace("&Sigma;", "Σ");
		str = str.replace("&#931;", "Σ");
		str = str.replace("&Tau;", "Τ");
		str = str.replace("&#932;", "Τ");
		str = str.replace("&Upsilon;", "Υ");
		str = str.replace("&#933;", "Υ");
		str = str.replace("&Phi;", "Φ");
		str = str.replace("&#934;", "Φ");
		str = str.replace("&Chi;", "Χ");
		str = str.replace("&#935;", "Χ");
		str = str.replace("&Psi;", "Ψ");
		str = str.replace("&#936;", "Ψ");
		str = str.replace("&Omega;", "Ω");
		str = str.replace("&#937;", "Ω");
		str = str.replace("&alpha;", "α");
		str = str.replace("&#945;", "α");
		str = str.replace("&beta;", "β");
		str = str.replace("&#946;", "β");
		str = str.replace("&gamma;", "γ");
		str = str.replace("&#947;", "γ");
		str = str.replace("&delta;", "δ");
		str = str.replace("&#948;", "δ");
		str = str.replace("&epsilon;", "ε");
		str = str.replace("&#949;", "ε");
		str = str.replace("&zeta;", "ζ");
		str = str.replace("&#950;", "ζ");
		str = str.replace("&eta;", "η");
		str = str.replace("&#951;", "η");
		str = str.replace("&theta;", "θ");
		str = str.replace("&#952;", "θ");
		str = str.replace("&iota;", "ι");
		str = str.replace("&#953;", "ι");
		str = str.replace("&kappa;", "κ");
		str = str.replace("&#954;", "κ");
		str = str.replace("&lambda;", "λ");
		str = str.replace("&#955;", "λ");
		str = str.replace("&mu;", "μ");
		str = str.replace("&#956;", "μ");
		str = str.replace("&nu;", "ν");
		str = str.replace("&#957;", "ν");
		str = str.replace("&xi;", "ξ");
		str = str.replace("&#958;", "ξ");
		str = str.replace("&omicron;", "ο");
		str = str.replace("&#959;", "ο");
		str = str.replace("&pi;", "π");
		str = str.replace("&#960;", "π");
		str = str.replace("&rho;", "ρ");
		str = str.replace("&#961;", "ρ");
		str = str.replace("&sigmaf;", "ς");
		str = str.replace("&#962;", "ς");
		str = str.replace("&sigma;", "σ");
		str = str.replace("&#963;", "σ");
		str = str.replace("&tau;", "τ");
		str = str.replace("&#964;", "τ");
		str = str.replace("&upsilon;", "υ");
		str = str.replace("&#965;", "υ");
		str = str.replace("&phi;", "φ");
		str = str.replace("&#966;", "φ");
		str = str.replace("&chi;", "χ");
		str = str.replace("&#967;", "χ");
		str = str.replace("&psi;", "ψ");
		str = str.replace("&#968;", "ψ");
		str = str.replace("&omega;", "ω");
		str = str.replace("&#969;", "ω");
		str = str.replace("&thetasym;", "ϑ");
		str = str.replace("&#977;", "ϑ");
		str = str.replace("&upsih;", "ϒ");
		str = str.replace("&#978;", "ϒ");
		str = str.replace("&piv;", "ϖ");
		str = str.replace("&#982;", "ϖ");
		str = str.replace("&ensp;", " ");
		str = str.replace("&#8194;", " ");
		str = str.replace("&emsp;", " ");
		str = str.replace("&#8195;", " ");
		str = str.replace("&thinsp;", " ");
		str = str.replace("&#8201;", " ");
		str = str.replace("&zwnj;", "	");
		str = str.replace("&#8204;", "	");
		str = str.replace("&zwj;", "	");
		str = str.replace("&#8205;", "	");
		str = str.replace("&lrm;", "	");
		str = str.replace("&#8206;", "	");
		str = str.replace("&rlm;", "	");
		str = str.replace("&#8207;", "	");
		str = str.replace("&ndash;", "–");
		str = str.replace("&#8211;", "–");
		str = str.replace("&mdash;", "—");
		str = str.replace("&#8212;", "—");
		str = str.replace("&lsquo;", "‘");
		str = str.replace("&#8216;", "‘");
		str = str.replace("&rsquo;", "’");
		str = str.replace("&#8217;", "’");
		str = str.replace("&sbquo;", "‚");
		str = str.replace("&#8218;", "‚");
		str = str.replace("&ldquo;", "“");
		str = str.replace("&#8220;", "“");
		str = str.replace("&rdquo;", "”");
		str = str.replace("&#8221;", "”");
		str = str.replace("&bdquo;", "„");
		str = str.replace("&#8222;", "„");
		str = str.replace("&dagger;", "†");
		str = str.replace("&#8224;", "†");
		str = str.replace("&Dagger;", "‡");
		str = str.replace("&#8225;", "‡");
		str = str.replace("&bull;", "•");
		str = str.replace("&#8226;", "•");
		str = str.replace("&hellip;", "…");
		str = str.replace("&#8230;", "…");
		str = str.replace("&permil;", "‰");
		str = str.replace("&#8240;", "‰");
		str = str.replace("&prime;", "′");
		str = str.replace("&#8242;", "′");
		str = str.replace("&Prime;", "″");
		str = str.replace("&#8243;", "″");
		str = str.replace("&lsaquo;", "‹");
		str = str.replace("&#8249;", "‹");
		str = str.replace("&rsaquo;", "›");
		str = str.replace("&#8250;", "›");
		str = str.replace("&oline;", "‾");
		str = str.replace("&#8254;", "‾");
		str = str.replace("&frasl;", "⁄");
		str = str.replace("&#8260;", "⁄");
		str = str.replace("&euro;", "€");
		str = str.replace("&#8364;", "€");
		str = str.replace("&image;", "ℑ");
		str = str.replace("&#8465;", "ℑ");
		str = str.replace("&weierp;", "℘");
		str = str.replace("&#8472;", "℘");
		str = str.replace("&real;", "ℜ");
		str = str.replace("&#8476;", "ℜ");
		str = str.replace("&trade;", "™");
		str = str.replace("&#8482;", "™");
		str = str.replace("&alefsym;", "ℵ");
		str = str.replace("&#8501;", "ℵ");
		str = str.replace("&larr;", "←");
		str = str.replace("&#8592;", "←");
		str = str.replace("&uarr;", "↑");
		str = str.replace("&#8593;", "↑");
		str = str.replace("&rarr;", "→");
		str = str.replace("&#8594;", "→");
		str = str.replace("&darr;", "↓");
		str = str.replace("&#8595;", "↓");
		str = str.replace("&harr;", "↔");
		str = str.replace("&#8596;", "↔");
		str = str.replace("&crarr;", "↵");
		str = str.replace("&#8629;", "↵");
		str = str.replace("&lArr;", "⇐");
		str = str.replace("&#8656;", "⇐");
		str = str.replace("&uArr;", "⇑");
		str = str.replace("&#8657;", "⇑");
		str = str.replace("&rArr;", "⇒");
		str = str.replace("&8658;", "⇒");
		str = str.replace("&dArr;", "⇓");
		str = str.replace("&8659;", "⇓");
		str = str.replace("&hArr;", "⇔");
		str = str.replace("&8660;", "⇔");
		str = str.replace("&forall;", "∀");
		str = str.replace("&8704;", "∀");
		str = str.replace("&part;", "∂");
		str = str.replace("&8706;", "∂");
		str = str.replace("&exist;", "∃");
		str = str.replace("&8707;", "∃");
		str = str.replace("&empty;", "∅");
		str = str.replace("&8709;", "∅");
		str = str.replace("&nabla;", "∇");
		str = str.replace("&8711;", "∇");
		str = str.replace("&isin;", "∈");
		str = str.replace("&8712;", "∈");
		str = str.replace("&notin;", "∉");
		str = str.replace("&8713;", "∉");
		str = str.replace("&ni;", "∋");
		str = str.replace("&8715;", "∋");
		str = str.replace("&prod;", "∏");
		str = str.replace("&8719;", "∏");
		str = str.replace("&sum;", "∑");
		str = str.replace("&8721;", "∑");
		str = str.replace("&minus;", "−");
		str = str.replace("&8722;", "−");
		str = str.replace("&lowast;", "∗");
		str = str.replace("&8727;", "∗");
		str = str.replace("&radic;", "√");
		str = str.replace("&8730;", "√");
		str = str.replace("&prop;", "∝");
		str = str.replace("&8733;", "∝");
		str = str.replace("&infin;", "∞");
		str = str.replace("&8734;", "∞");
		str = str.replace("&ang;", "∠");
		str = str.replace("&8736;", "∠");
		str = str.replace("&and;", "∧");
		str = str.replace("&8743;", "∧");
		str = str.replace("&or;", "∨");
		str = str.replace("&8744;", "∨");
		str = str.replace("&cap;", "∩");
		str = str.replace("&8745;", "∩");
		str = str.replace("&cup;", "∪");
		str = str.replace("&#8746;", "∪");
		str = str.replace("&int;", "∫");
		str = str.replace("&#8747;", "∫");
		str = str.replace("&there4;", "∴");
		str = str.replace("&#8756;", "∴");
		str = str.replace("&sim;", "∼");
		str = str.replace("&#8764;", "∼");
		str = str.replace("&cong;", "≅");
		str = str.replace("&#8773;", "≅");
		str = str.replace("&asymp;", "≈");
		str = str.replace("&#8776;", "≈");
		str = str.replace("&ne;", "≠");
		str = str.replace("&#8800;", "≠");
		str = str.replace("&equiv;", "≡");
		str = str.replace("&#8801;", "≡");
		str = str.replace("&le;", "≤");
		str = str.replace("&#8804;", "≤");
		str = str.replace("&ge;", "≥");
		str = str.replace("&#8805;", "≥");
		str = str.replace("&sub;", "⊂");
		str = str.replace("&#8834;", "⊂");
		str = str.replace("&sup;", "⊃");
		str = str.replace("&#8835;", "⊃");
		str = str.replace("&nsub;", "⊄");
		str = str.replace("&#8836;", "⊄");
		str = str.replace("&sube;", "⊆");
		str = str.replace("&#8838;", "⊆");
		str = str.replace("&supe;", "⊇");
		str = str.replace("&#8839;", "⊇");
		str = str.replace("&oplus;", "⊕");
		str = str.replace("&#8853;", "⊕");
		str = str.replace("&otimes;", "⊗");
		str = str.replace("&#8855;", "⊗");
		str = str.replace("&perp;", "⊥");
		str = str.replace("&#8869;", "⊥");
		str = str.replace("&sdot;", "⋅");
		str = str.replace("&#8901;", "⋅");
		str = str.replace("&lceil;", "⌈");
		str = str.replace("&#8968;", "⌈");
		str = str.replace("&rceil;", "⌉");
		str = str.replace("&#8969;", "⌉");
		str = str.replace("&lfloor;", "⌊");
		str = str.replace("&#8970;", "⌊");
		str = str.replace("&rfloor;", "⌋");
		str = str.replace("&#8971;", "⌋");
		str = str.replace("&lang;", "〈");
		str = str.replace("&#10216;", "〈");
		str = str.replace("&rang;", "〉");
		str = str.replace("&#10217;", "〉");
		str = str.replace("&loz;", "◊");
		str = str.replace("&#9674;", "◊");
		str = str.replace("&spades;", "♠");
		str = str.replace("&#9824;", "♠");
		str = str.replace("&clubs;", "♣");
		str = str.replace("&#9827;", "♣");
		str = str.replace("&hearts;", "♥");
		str = str.replace("&#9829;", "♥");
		str = str.replace("&diams;", "♦");
		str = str.replace("&#9830;", "♦");		
		return str;
	}
}
